Nonvolatile semiconductor memory including multi-threshold voltage memory cells including voltage ranges indicating either an erase state or a two or more program state

ABSTRACT

In a nonvolatile semiconductor memory device wherein a plurality of threshold voltages are set so as to store multi-valued information in one memory cell, data is first written into the memory cell whose threshold voltage is the lowest as a written state from the erase level, and data is successively written into memory cells whose threshold voltages are higher.

CROSS-REFERENCE TO RELATED REISSUE APPLICATIONS

More than one reissue application has been filed for the reissue of U.S.Pat. No. 6,906,952. The reissue applications are application numbersSer. No. 12/794,905 (the present divisional reissue application), filedJun. 7, 2010, and Ser. No. 11/812,099 (the parent application), both ofwhich are reissues of U.S. Pat. No. 6,906,952.

This application is a continuation of U.S. application Ser. No.09/984,833 now abandoned, filed Oct. 31, 2001, which, in turn is acontinuation of U.S. application Ser. No. 09/679,867, filed Oct. 5,2000, now U.S. Pat. No. 6,320,785; which is a continuation of U.S.application Ser. No. 09/342,223, filed Jun. 29, 1999, now U.S. Pat. No.6,525,960; and which, in turn, is a continuation of U.S. applicationSer. No. 08/890,396, filed Jul. 9, 1997, and now U.S. Pat. No.5,959,882; and the entire disclosures of which are incorporated hereinby reference.

BACKGROUND OF THE INVENTION

The present invention relates to a semiconductor memory device, and to atechnique which is particularly effective when applied to a memorysystem for multivalued information in a nonvolatile semiconductor memorydevice. By way of example, the technique is effective when utilized fora nonvolatile memory device (hereinafter referred to simply as a flashmemory) in which a plurality of pieces of stored information can beelectrically erased all at once.

In a flash memory, nonvolatile memory elements each having a controlgate and a floating gate are used as memory cells, and each memory cellcan be constructed of a single transistor. In such a flash memory, whena write operation is executed, as illustrated in FIG. 10, the drainregion of the nonvolatile memory element is set at, for example, about 5V (volts), while a word line with the control gate CG connected theretois set at, for example, about −11 V, whereby electric charges areextracted from the floating gate FG by means of a tunnel current so asto render the threshold voltage of the memory element low (logical value“0”). When an erase operation is executed, as illustrated in FIG. 11, awell region, the drain region and a source region are set at about −4 V,by way of example, while the control gate CG is set at a high voltage,such as 12 V, whereby negative charges are injected into the floatinggate FG by the generation of a tunnel current so as to render thethreshold voltage high (logical value “1”). Thus, data of 1 (one) bit isstored in one memory cell.

There has been proposed the concept of a so-called “multivalued” memorywherein data of 2 or more bits is stored in one memory cell for thepurpose of enlarging the memory capacity. An invention concerning such amultivalued memory is disclosed in, for example, PCT/JP95/02260.

SUMMARY OF THE INVENTION

In the multivalued memory disclosed in PCT/JP95/02260, data is writtenin three stages, as shown in FIG. 12. More specifically, from thestarting point of an erase level (threshold voltage of about 5 V), amemory cell whose threshold voltage is nearest to the erase level isfirst subjected to a write operation, and memory cells whose thresholdvoltages are farther from the erase level are thereafter subjected to awrite operation. This is intended to shorten the time period taken towrite multivalued data. In a write operation in a flash memory, however,a high voltage is applied not only to the control gate of the selectedmemory cell, but also to the control gates of nonselected memory cellswhich are coupled with a word line common to that of the selected memorycell. As is known, accordingly, each of the nonselected memory cells isbrought into a weak written (disturbed) state, so that the thresholdvoltage thereof may fluctuate to change stored data. This phenomenon isknown as word line disturbance.

Besides, the inventors have found that the memory cell whose thresholdvoltage is nearer to the erase level is more susceptible to thefluctuation of the threshold voltage attributed to the word linedisturbance, than the memory cell whose threshold voltage is farther. Itis considered that this is because the initial threshold voltage of eachmemory cell at the time of manufacture of a memory chip is much lowerthan the erase level, and the memory cells have a tendency of revertingto their initial threshold voltage when subjected to a disturbance.

However, it has been found that the data writing system disclosed inPCT/JP95/02260 is subject to a problem in that the fluctuations of thethreshold voltages attributed to word line disturbance are great becausethe write operation is performed from the memory cell of a thresholdvoltage nearest to the erase level, as compared to the memory cellshaving more distant threshold voltages. More specifically, the datawriting method, as shown in FIG. 12, has a drawback in that the memorycell (of data “01”) having a threshold voltage (lower than 1.5 V)farthest from the erase level does not undergo word line disturbanceeven once, whereas the memory cell (of data “10”) having a thresholdvoltage (about 3.2 V) nearest to the erase level, being most susceptibleto the word line disturbance, undergoes the disturbance twice on theaverage.

Further, it has been found that the data writing method disclosed inPCT/JP95/02260 has a drawback in that, since a write pulse is fed to allthe memory cells whose threshold voltages are to be shifted in the writeoperation of the first stage, the peak current in the write operationincreases and the average power consumption also increases.

An object of the present invention is to provide a multi-valued memorytype nonvolatile semiconductor memory device wherein the fluctuations inthe threshold voltages of memory cells attributed to word linedisturbance can be minimized.

Another object of the present invention is to provide a nonvolatilesemiconductor memory device whose peak current and average powerconsumption in a write operation can be decreased.

The above and other objects and novel features of the present inventionwill become more apparent from the description of this specificationtaken in conjunction with the accompanying drawings.

A typical aspect of the present invention will be briefly outlinedbelow.

In a nonvolatile semiconductor memory device wherein a plurality ofthreshold voltages are determined so as to store multivalued informationin one memory cell, data is first written into a memory cell whosethreshold voltage is the farthest from the erase level, and data isthereafter written into memory cells whose threshold voltages are nearerto the erase level, in succession. In other words, with the erase levelused as a written state, data is first written into a memory cell havingthe lowest threshold voltage, and data is thereafter successivelywritten into memory cells having higher threshold voltages.

Thus, the number of word line disturbances which affect the memory cellhaving a threshold voltage nearest to the erase level and being mostinfluenced by word line disturbance can be decreased, and thefluctuation of the threshold voltages attributed to word linedisturbance can be minimized.

Moreover, owing to this feature, the number of data lines which must beprecharged by one writing operation and the total number of data lineswhich must be precharged from the start of a write operation to the endthereof can be made smaller than conventional, thereby to reduce thepeak current and average power consumption in a write operation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an explanatory diagram showing the outline of a data writingmethod for a multivalued flash memory according to the presentinvention;

FIG. 2 is a circuit diagram showing an example of the construction of amemory array of a multivalued flash memory according to the presentinvention;

FIG. 3 is a circuit diagram showing practical examples of a sense latchcircuit (SLT) and a data latch circuit (DLT);

FIG. 4 is a logic circuit diagram showing an embodiment of a dataconversion circuit according to the present invention, which convertswrite data of 2 bits into quaternary data;

FIG. 5 is a timing chart showing the data input timings of the writeoperation of the multivalued flash memory of the embodiment;

FIG. 6 is a flowchart showing the write procedure of the multivaluedflash memory of the embodiment;

FIG. 7 is a timing chart showing the signal timings in transferring datafrom the data latch circuit (DLT) to the sense latch circuit (SLT);

FIG. 8 is a timing chart showing the timings of the practical procedureof the detection of an erratic bit;

FIG. 9 is a schematic block diagram showing the whole of the embodimentof the multivalued flash memory according to the present invention;

FIG. 10 is a schematic diagram showing the structure of a memory cellfor use in the flash memory of the embodiment, and the voltage state indata writing operation of the memory cell;

FIG. 11 is a schematic diagram showing the voltage state of the erasingoperation of the memory cell for use in the flash memory of theembodiment; and

FIG. 12 is an explanatory diagram showing the outline of a data writingmethod for a multivalued flash memory according to a prior application.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Now, various embodiments of the present invention will be described withreference to the drawings in relation to the case where the invention isapplied to a flash memory which is capable of storing a quaternary valuein one memory cell.

FIG. 1 illustrates the data writing sequence of a flash memory in oneembodiment of the present invention. In this embodiment, all the memorycells thereof are brought into the threshold voltage region (thethreshold voltages are at least 4 V and the stored data is “11”) of theerase level prior to the writing operation. Subsequently, as shown inFIG. 1, data is written into the memory cell (stored data is “01”) whosethreshold voltage region (the threshold voltage is higher than 0 V andnot higher than 1.4 V) is the farthest (lowest) from the erase level.Thereafter, the data is written into the memory cell (stored data is“00” whose threshold voltage region (the threshold voltage is not lowerthan 1.6 V and not higher than 2.4 V) is the second farthest (secondlowest) from the erase level. Lastly, the data is written into thememory cell (stored data is “10”) whose threshold voltage region (thethreshold voltage is not lower than 2.6 V and not higher than 3.2 V) isthe nearest to the erase level.

Thus, the number of word line disturbances affecting the memory cell(the stored data is “01”), whose threshold voltage region is thefarthest from the erase level and is little affected by the word linedisturbance, becomes 2, but the number of the word line disturbancesaffecting the memory cell (the stored data “10”), whose thresholdvoltage region is the nearest to the erase level and is most affected bythe word line disturbance, can be reduced to zero. Accordingly, comparedwith the method shown in FIG. 12 in which data is written from thememory cell nearest to the erase level, the method of this embodimentcan suppress to smaller values the fluctuation of the threshold voltagesattributed to word line disturbance.

FIG. 2 illustrates a practical example of a memory array 10, which willbe explained later with reference to FIG. 9. The memory array 10 of thisembodiment comprises two memory mats, one (the upper one) of which isillustrated in FIG. 2. As seen from the drawing, each memory matcomprises memory cell columns MCC disposed in the row direction (in thedirection of word lines WL) and in the column direction (in thedirection of data lines DL), and each of which includes nparallelly-connected memory cells (MOSFETs, each having a floating gate)MC1-MCn that are arrayed in the column direction and that have theirsources and drains connected in common. In each memory cell column MCC,the drains and sources of the n memory cells MC1-MCn are respectivelyconnected to a common local drain line LDL formed of a diffused layerand to a common local source line LSL formed of a diffused layer. Thelocal drain line LDL is connected through a switching MOSFET Qs1 to thedata line DL which is formed of a metallic interconnection layer madeof, for example, aluminum. The local source line LSL is connectedthrough a switching MOSFET Qs2 to a common source line CSL, which alsois formed of a metallic interconnection layer made of, for example,aluminum, and which is fed with the ground potential or a negativevoltage.

Those of the plurality of memory cell columns MCC which are disposed inthe word line direction are formed within the same well region WELL on asemiconductor substrate. In the data erasing operation of the flashmemory, the negative voltage of, e.g., −4 V is applied to the wellregion, and a voltage of, e.g., 12 V is applied to the word linesassociated with the common well region, whereby the all-at-a-timeerasure of the flash memory is realized. By the way, in the data erasingoperation, all the switching MOSFETs Qs1 and Qs2 formed in the commonwell region are brought into ON states so as to apply the negativevoltage of −4 V to the sources and drains of the memory cells.

On the other hand, in the data writing operation of the flash memory, anegative voltage of, e.g., −11 V is applied to the word line to which aselected one of the memory cells is connected, the data line DLcorresponding to the selected memory cell is set at a potential of,e.g., 5 V, and the switching MOSFET Qs1 on the local drain line LDL towhich the selected memory cell is connected is brought into an ON stateso as to apply the voltage of 5 V to the drain of the selected memorycell. In this case, however, the switching MOSFET Qs2 on the pertinentlocal source line LSL is held in an OFF state. Further, in the datareading operation of the flash memory, a voltage of, e.g., 1.5 V, 2.5 Vor 3.3 V is applied to the word line to which the selected memory cellis connected, the data line DL corresponding to the selected memory cellis precharged to a potential of, e.g., 1 V, and the switching MOSFET Qs1on the local drain line LDL to which the selected memory cell isconnected is brought into the ON state. At this time, the switchingMOSFET Qs2 on the local source line LSL is brought into the ON state andthe ground potential of 0 V is applied thereto.

Connected to one end of each data line DL (on the center side of thememory array) is a sense latch circuit SLT which detects the level ofthe data line in the read operation and which impresses a potentialcorresponding to write data in the write operation, while the other endof each data line DL is connected to a data latch circuit DLT whichholds the write data and read data. Since the memory array of thisembodiment is configured of two mats, a memory mat similar to the onedescribed above is also arranged on the opposite side to the sense latchcircuits SLT, that is, on the bottom side of the drawing, and respectivedata lines DL in the lower memory mat are connected to the otherinput/output terminals of the corresponding sense latch circuits SLT inthe upper memory mat.

FIG. 3 illustrates examples of the specific circuits of the sense latchcircuit SLT and the data latch circuit DLT. Since the circuit of thememory array is symmetric with respect to the sense latch circuits SLT,a part of the circuit in relation to only one data line DL included inone memory mat is shown. In addition, only one of the memory cellcolumns MCC connected to the data line DL is shown for convenience, butactually the plurality of memory cell columns MCC are connected. Asshown in the drawing, the sense latch circuit SLT includes a flip-flopcircuit FF1 in which the input/output terminals of two CMOS(complementary MOS) inverters each consisting of a P-channel MOSFET andan N-channel MOSFET are cross-coupled to each other. One end of the dataline DLa within one memory mat is connected to one input/output node Naof the sense latch circuit SLT through a data transfer MOSFET Qt1.Similarly, one end of the data line DLb within the other memory mat isconnected to the other input/output node Nb of the sense latch circuitSLT through a data transfer MOSFET Qt1′.

Further, discharging MOSFETs Qd1 and Qd1′ are respectively connected tothe input/output nodes Na and Nb of the sense latch circuit SLT, and adischarging MOSFET Qd2 is connected also to the other end of the dataline DLa. The precharging MOSFETs Qp1 and Qp2 are connected to each dataline DL, and one Qp1 of them is connected through another MOSFET Qc1 toa terminal which is fed with a supply voltage Vcc or the groundpotential Vss. Write data can be input from a data conversion circuit,which will be described later, to the input/output nodes Na and Nb ofthe sense latch circuit SLT through a common input/output line notshown.

Similarly to the sense latch circuit SLT, the data latch circuit DLTincludes a flip-flop circuit FF2 in which the input/output terminals oftwo CMOS inverters each consisting of a P-channel MOSFET and anN-channel MOSFET are cross-coupled to each other. The data line DLawithin the memory mat is connected to one input/output node Nc of thedata latch circuit DLT through a data transfer MOSFET Qt2. A dischargingMOSFET Qd3 is connected to the input/output node Nc of the data latchcircuit DLT, and MOSFETs Qp3 and Qc2 which are turned on/off, dependingupon the level of a precharge signal PC_U and the potential of theinput/output node Nc, are connected in series between the data line DLaand the supply voltage Vcc.

Further, the write data can be input from the data conversion circuit,which will be described later, to the input/output node Nc of the datalatch circuit DLT through the common input/output line not shown.Although not depicted in FIG. 3, the data latch circuit DLT constructedof a flip-flop circuit for holding the write data transmitted from thedata conversion circuit is arranged also at the other end of the dataline DLb which is connected to the input/output node Nb of the senselatch circuit SLT.

FIG. 4 illustrates the data conversion circuits 20, by which externallyinputted data to be stored is converted into multivalued data to bestored in the memory cells, and the relations of the data conversioncircuits 20 with a sense latch array 11 and data latch arrays 12a and12b, which are included in the memory array 10. Each data conversioncircuit 20 is constituted by an input buffer unit 21 and a dataconversion unit 22, and data of 8 bits can be input in parallel in pairsof 2 bits. One set of an input buffer unit 21 and a data conversion unit22 is shown in detail in FIG. 4, and will be described below.

The input buffer unit 21 of one data conversion circuit 20 includes twoclocked inverters INV1 and INV2, and two latch circuits LT1 and LT2. Thedata conversion unit 22 includes inverters INV11 and INV12, which arerespectively connected to the relevant latch circuits LT1 and LT2, threeNAND gate circuits G1, G2 and G3, which receive the outputs of the twoinverters INV11 and INV12 and the outputs of the latch circuits LT1 andLT2 as input signals, inverters INV21, INV22 and INV23, which invert theoutputs of the respective gate circuits G1, G2 and G3, and transfergates TG1, TG2 and TG3, which are made up of MOSFETs connected to therespective inverters TG1, TG2 and TG3. Thus, the input data of 2 bits isconverted into data of 3 bits, and data of 3 bits×4 is outputted as awhole.

Table 1 below shows an example of data conversion by the data conversioncircuit 20.

TABLE 1 Write Data I/O 0 I/O 1 DLU [1] SL [1] DLD [1] 01 0 1 0 1 0 00 00 1 0 0 10 1 0 0 0 1 11 1 1 0 0 0

As listed in Table 1, write data “01” is converted into 3-bit data“010”, write data “00” is converted into 3-bit data “100”, write data“10”into 3-bit data “001”, and write data “11”is converted into 3-bitdata “000”. After the conversion, the data is written into only thememory cell which corresponds to the bit corresponding to “1”, and nodata is written into the memory cells which correspond to the bitscorresponding to “0”.

Data of 3 bits, obtained by converting two bits out of the 8 bits of thewrite data, which is received by the data conversion circuit 20 andsupplied through the external terminals I/O 0 and I/O 1, arerespectively transferred to and held in the first latch circuits (DLU1,SL1 and DLD1) of the data latch arrays 12a and 12b which are arranged atboth ends of the memory array 10 (at the top and bottom of FIG. 4) andthe sense latch array 11 which is arranged at the center of the memoryarray 10. Data of 3 bits, obtained by converting two bits of the 8-bitwrite data supplied through the external terminals I/O 2 and I/O 3, arerespectively transferred to and held in the second latch circuits (DLU2,SL2 and DLD2) of the data latch arrays 12a and 12b of the memory array10 and the sense latch array 11 thereof.

Similarly to the above, 3-bit data, obtained by converting the two bitsof the 8-bit write data supplied through the external terminals I/O 4and I/O 5, are respectively transferred to and held in the third latchcircuits (DLU3, SL3 and DLD3) of the data latch arrays 12a and 12b andthe sense latch array 11. Also, 3-bit data, obtained by converting thetwo bits of the 8-bit supplied through the external terminals I/O 6 andI/O 7, are respectively transferred to and held in the fourth latchcircuits of the data latch arrays 12a and 12b and the sense latch array11. The 8-bit write data subsequently input are respectively convertedby the data conversion circuits 20, and the resulting 3-bit data arerespectively transferred to and held in the fifth-eighth latch circuitsof the data latch arrays 12a and 12b and the sense latch array 11.

When all the write data has been stored in all the latch circuits of thedata latch arrays 12a and 12b and the sense latch array 11 by repeatingthe operations described above, a control circuit which will bedescribed later, and which is included in the memory, starts a writesequence in which the data held in the sense latch array 11 is firstwritten, the data held in the data latch array 12a is subsequentlywritten, and the data held in the data latch array 12b is thereafterwritten. Incidentally, the control circuit is so constructed as toperform controls in compliance with commands which are input from, e.g.,a CPU outside the flash memory.

FIG. 5 illustrates the timings of a data writing operation. As seen fromthe chart, in the data writing operation, a write command commanding thecontrol circuit to write data is first input, and the addresses (sectoraddresses) add1 and add2 of the word lines to which the memory cellswhere the data is written are coupled are subsequently input. The writecommand and the addresses are inputted in synchronism with the trailingedge of the pulse of a write enable signal/WE. In this case, the commandand the addresses are distinguished by a control signal (command dataenable signal)/CDE which is simultaneously input. More specifically, thelow level of the signal/CDE indicates that the command or data is beinginput, while the high level thereof signifies that the addresses arebeing input.

The addresses add1 and add2 are followed by the first write data D1 of 8bits to be stored in one sector (the memory cells connected to one wordline), and the 8-bit data D1 is received by the four input buffer units21 in synchronism with a clock SC. Subsequently, the transfer gatesTG1-TG3 are turned on by a gate control signal YG after the dataconversion by the data conversion circuits 20, and the write data of 3bits×4 are successively transferred to and held in the data latch arrays12a and 12b and the sense latch array 11. Thereafter, the input writedata D2, D3, . . . , D528 received in units of eight bits aresequentially converted and the resulting data is stored in the senselatch array 11 and the data latch arrays 12a and 12b. When the transferof the write data for one sector ends, a write start command forstarting the write operation is input from outside the flash memory andis received, and the command is decoded to execute the write sequence.Thus, the data for one sector is simultaneously written.

In the memory array 10, the memory elements connected to the data lineswhere the data stored in the sense latch array 11 and the data latcharrays 12a and 12b are “1” are subjected to a write operation, in otherwords, to impression of write pulses. In this way, the thresholdvoltages of the individual memory elements are shifted as shown in FIG.1, and quaternary data can be written into one memory cell. FIG. 6illustrates the write control procedure.

Referring to FIG. 6, after a write command, write sector addresses andwrite data are inputted, and, at the first step S1 (write data aretransferred to latches 1-3), the data converted by the data conversioncircuit 20 is transferred to the sense latch array 11 and the data latcharrays 12a and 12b. The second and later steps S2, . . . are a controlsequence which is started by the input of the write start command.

In the control sequence, first, each word line selected by decoding thewrite address already received is set at a potential of, e.g., −11 V(step S2). Simultaneously, the transfer MOSFETs Qt1 on the data linesare turned on, and the data lines having the data “1” are set at apotential of, e.g., 5 V in accordance with data held in the sense latcharray 11 at this time, thereby to write the data. Subsequently, the datalines are precharged to a potential of, e.g., 1 V, and the selected wordline is set at a voltage of, e.g., 1.5 V, thereby to read the data forverification. At this time, the data read out of each memory cell, inwhich the write operation is performed normally, to the sense latcharray 11 changes to “0”. It is therefore judged whether or not all thedata held in the sense latch array 11 are “0” (step S3). When the data“1” remains at any bit of the sense latch array 11, only the memorycells having undergone the write operation are subjected to a writeoperation again by the use of the data held in the sense latch array 11(step S4).

When, as a result of the verification judgment, all the data of thesense latch array 11 have become “0”, the write operation proceeds tothe step S5, at which data held in the data latch array 12a istransferred to the sense latch array 11. Then, the selected word line isset at a potential of, e.g., −10.5 V which is somewhat lower than thatat the step S2 (step S6). Subsequently, the transferred data is writtenon the basis of the data held in the sense latch array 11. Thereafter,the data is read for verification by setting the selected word line at avoltage of, e.g., 2.5 V, to judge whether or not all the data held inthe sense latch array 11 is “0” (step S7). When the data “1” remains atany bit of the sense latch array 11, only the memory cells not havingundergone the write operation are subjected to the write operation againby the use of the data held in the sense latch array 11 (step S8).

When, as a result of the verification judgment, all the data of thesense latch array 11 have become “0”, the write operation proceeds tothe step S9, at which data held in the data latch array 12b istransferred to the sense latch array 11. Then, the selected word line isset at a potential of, e.g., −10 V which is still somewhat lower thanthat at the step S6 (step S10). Subsequently, the transferred data iswritten on the basis of the data held in the sense latch array 11.Thereafter, the data is read for verification by setting the selectedword line at a voltage of, e.g., 3.3 V, to judge whether or not all thedata held in the sense latch array 11 are “0” (step S11) When the data“1” remains at any bit of the sense latch array 11, only the memorycells not having undergone the write operation are subjected to thewrite operation again by the use of the data held in the sense latcharray 11 on (step S12).

By executing the steps described, data is written in the memory cells,from the one whose threshold voltage is in the lowest threshold regionfrom the erase level as a write state, and successively the ones whosethreshold voltages are higher, after which the write operation is ended.Thus, the number of word line disturbances affecting the memory cellwhose threshold voltage region is the nearest to the erase level (thatis, the memory cell whose threshold voltage region is the highest as awrite state) can be reduced to minimize the fluctuation of the thresholdvoltages of the memory cells attributed to word line disturbances.Moreover, in the embodiment, the absolute values of the voltages of thewrite word line are gradually decreased as −11 V, −10.5 V and −10 V.Therefore, the amount of disturbance occurring in one write operationlowers gradually, so that the fluctuation of the threshold voltages canbe further decreased. However, the widths of the write pulses may begradually narrowed instead of gradually lowering the write voltages. Theinput operation of the addresses and data and the data write operationmay be started according to an external control signal, withoututilizing the command.

Next, a specific example of a method for transferring the data from thedata latch arrays 12a and 12b to the sense latch array 11 at the stepsS5 and S9 in FIG. 6 will now be described with reference to the circuitdiagram of FIG. 3 and the timing chart of FIG. 7.

-   (1) First, the power supply voltage of the PMOS side of the sense    latch circuit SLT is set at the ground potential Vss to bring this    sense latch circuit SLT into its inactive state, and a reset pulse    RSA_CU is impressed on the gate of the discharging MOSFET Qd1,    thereby to extract electric charges at the node Na.-   (2) The gate control signal PC_U for the precharging MOSFET Qp3 of    the data latch circuit DLT is brought to a high level so as to    precharge the data line DLa up to a voltage (Vcc-Vth) by the use of    the data held in the data latch circuit DLT.-   (3) A gate control signal TR_U for the transfer MOSFET Qt2 of the    data latch circuit DLT is brought to a high level so as to further    precharge the data line DLa up to the voltage Vcc by the use of the    data held in the data latch circuit DLT.-   (4) A gate control signal TR_CU for the transfer MOSFET Qt1 on the    sense latch circuit SLT side is brought to a high level so as to    transfer the level of the data line DLa to the node Na.-   (5) The supply voltage Vcc is fed to the PMOS side of the sense    latch circuit SLT to bring this sense latch circuit SLT into an    active state, thereby to definitely fix the potential of the node    Na, in other words, the data held in this circuit SLT.-   (6) Subsequently, the gate control signal TR_CU for the transfer    MOSFET Qt1 is brought to a low level to turn off this MOSFET Qt1,    and a gate control signal DDC_U for the discharging MOSFET Qd2 at    the other end of the data line DLa is brought to a high level,    thereby to discharge the potential of the data line DLa down to the    ground potential Vss.

The operations as stated above are performed simultaneously for all thedata lines, whereby the data transfer from the data latch arrays 12a and12b to the sense latch array 11 can be effected.

Further, in the memory array of the above construction, a so-callederratic bit can be detected by a method described below, and in the caseof the flash memory of this embodiment, a sequence for detecting anerratic bit and then correcting the detected erratic bit is provided.Here, the erratic bit is a bit in which data is written erroneouslybecause the threshold voltage of a memory cell, among the memory cellson which the same write pulse has been impressed, has suddenly loweredexcessively on account of an unknown cause. More specifically, it isempirically known that, in spite of the impression of a write pulse forestablishing a threshold voltage corresponding to data “00” or a writepulse for establishing a threshold voltage corresponding to data “10”,the threshold voltage occasionally lowers excessively and a memory cellwhich has a threshold voltage corresponding to data “01” is created.

In this embodiment, therefore, the erratic bit is detected by a methodin which, in writing data into the memory cells corresponding to thedata “00” and the data “10”, the write data is left in the data latchcircuits, and that, after having written data, the written data beingread out is fed to the sense latch circuits so as to compare it with thewrite data on the data lines. Specific steps for such detection will nowbe described with reference to FIG. 3 and FIG. 8.

-   (1) After having written data, each data line DLa is selectively    precharged to a level of, e.g., 1.0 V by using the write data held    in the data latch circuit DLT. That is, only the data line connected    to the data latch circuit which holds the data “1” therein is    precharged. Incidentally, each data line DLb of the mat on the    opposite side is precharged to 0.5 V on this occasion.-   (2) The word line to which the memory cells subjected to the write    operation are connected is set at a read level lower than a target    threshold voltage, whereupon written data is read. On this occasion,    the memory cell which has undergone a normal write operation is in    an OFF status, so that the associated data line remains unchanged at    the precharge potential. In contrast, the memory cell of the erratic    bit becomes into an ON state, so that the associated data line is    discharged.-   (3) The transfer MOSFETs Qt1 on the data lines are turned on so as    to detect the levels of these data lines by the sense latch circuits    SLT.-   (4) The power supply voltage Vcc is fed to the sense latch circuits    SLT so as to amplify the detected data line levels.-   (5) The discharging MOSFETs Qd2 on the data lines are turned on so    as to discharge all the data lines.-   (6) Using the write data held in each data latch circuit DLT, the    data line DLa is selectively precharged to the level of, e.g., 1.0 V    again. The data line DLb of the mat on the opposite side is    precharged to 0.5 V.-   (7) The MOSFET Qc1 is selectively turned on by using the data held    in each sense latch circuit SLT, and the power supply terminal    corresponding thereto is set at the ground potential Vss, whereby    the data line DLa is selectively discharged. In this case, the    transfer MOSFET Qt1 on each data line is in an OFF state. Thus, the    data line, to which the memory cell which has undergone a normal    write operation is connected, is discharged, whereas the data line    to which the memory cell having an erratic bit is connected is not    discharged.-   (8) The power supply voltage Vcc of each sense latch circuit SLT is    cut off, and the discharging MOSFET Qd1 is turned on, thereby to    reset the sense latch circuit SLT.-   (9) The transfer MOSFET Qt1 on each data line is turned on so as to    detect the level of the data line by the sense latch circuit SLT.    The discharging MOSFET Qd1 is turned off.-   (10) The power supply voltage Vcc is fed to each sense latch circuit    SLT so as to amplify the detected data line level.

Owing to the steps described, the data “1” is held in each sense latchcircuit SLT to which the memory cell having an erratic bit is connected.Accordingly, whether or not the data “1” remains in the sense latchcircuit SLT is checked by a write/erase judging circuit 33, which willbe described later (refer to FIG. 9), whereby the occurrence of theerratic bit can be detected and reported to the outside by erecting anerror flag. Moreover, the erratic bit is brought into an erased state,and data is written into the pertinent memory cell again by the use ofthe data remaining in the sense latch circuit SLT, whereby erroneousdata can be corrected.

By the way, since the erratic bit is due to the phenomenon in which thethreshold voltage lowers excessively, the data of the memory cell of thelowest threshold voltage does not become erroneous in the read operationeven in the case of an erratic bit being developed during the writeoperation. The reason therefor is that, when the lowest read level (1.7V) is applied to the corresponding word line, the memory cell of theerratic bit enters into an ON state similarly to a memory cell which hasundergone a normal write operation. Assuming that the threshold voltageof the erratic bit has become lower than 0 V, the read data of thepertinent memory cell becomes “1” by activating the sense latch circuitSLT with the word line held at 0 V, because this memory cell is held inan ON state. Therefore, even when the write data does not remain, theerratic bit can be detected. In the embodiment, the write operation ofthe memory cell of the lowest threshold voltage is first performed.Therefore, even when the write data used in the first write operationhas been lost from the sense latch circuit, there is no obstruction indetecting the erratic bit.

Next, an ordinary readout operation will be described, in which the dataof each memory cell is outputted to the outside of the flash memorythrough external terminals. Data is read by a method in which, with theword line WL activated, the potentials of the control gates of thememory cells are changed in three stages (to intermediate voltagesbetween the threshold voltages) as in the verification operationdescribed before, a voltage of 1 V is applied to the drain of theselected memory cell through the data line DL, and the local source lineLSL is connected to the ground point. The memory cell whose thresholdvoltage is lower than the level of the word line is brought into an ONstate, so that the data line to which this memory cell is connected isdischarged to the ground potential. In contrast, the memory cell whosethreshold voltage is higher than the level of the word line is broughtinto an OFF state, so that the data line to which this memory cell isconnected is left intact at 1 V. The resulting potential of the dataline is detected by the sense latch circuit SLT or the data latchcircuit DLT, whereby primary read data is obtained.

More specifically, when the read operation has been started, the levelof a selected word line is first set at 3.5 V so as to read data out ofa selected memory cell and to hold the read data in the data latch array12a. Subsequently, the level of the selected word line is set at 2.7 Vso as to read data out of the selected memory cell and to hold the readdata in the data latch array 12b. Lastly, the level of the selected wordline is set at 1.7 V so as to read data out of the selected memory celland to hold the read data in the sense latch array 11. In this way,three sorts of data are successively read out of the identical memorycell and held in the data latch arrays 12a and 12b and the sense latcharray 11 by changing the word line level in the three stages. Therefore,the same read data as the written data can be restored in units of twobits by subjecting the data read to a logic operation for inverseconversion.

Table 2 below shows the stored data of the memory cell, the primary readdata to be held in the latches, and the read data after the inverseconversion.

TABLE 2 Memory First Read Second Read Third Read Read Data Data Vwr =3.5 V Vwr = 2.7 V Vwr = 1.7 V I/O 0 I/O 1 01 0 0 0 0 1 00 0 0 1 0 0 10 01 1 1 1 11 1 1 1 1 1

Incidentally, although the inverse conversion may be performed bydisposing circuits for the logic operation in the data conversioncircuit 20, it can also be executed by a method in which the wired logic(OR or exclusive OR) of the data held in the data latch arrays 12a and12b and the sense latch array 11 is taken using the data lines laid inthe memory array 10. The read operation is executed upon receiving acommand which instructs the control circuit 32 to read data. FIG. 9illustrates an example of the construction of the whole multivaluedflash memory 1 in which the memory array 10, data conversion circuit 20and control circuit 32 are provided on an identical semiconductor chiptogether with the peripheral circuits of this memory 1.

Although not especially restricted thereto, the flash memory 1 of thisembodiment comprises a command decoder 31 which decodes a command giventhrough external terminals I/O from, e.g., an external CPU, and acontrol circuit (sequencer) 32 which successively generates and outputscontrol signals for the various internal circuits of the memory 1 inorder that processes corresponding to a command may be executed on thebasis of the results of decoding by the command decoder 31. Thus, theflash memory 1 is so designed that, when the command is given, it isdecoded so as to automatically execute the corresponding processes. Thecontrol circuit 32 is constructed of, e.g., a ROM (read-only memory) inwhich a series of microinstructions required to execute the command arestored, similarly to the control unit of a CPU of a microprogram system.The microprogram is started by a method in which the command decoder 31generates the first address of the microinstructions corresponding tothe command and gives them to the control circuit 32.

In FIG. 9, circuit portions which are designated by the same symbols asin FIG. 4 designate circuits having the same functions. Morespecifically, numeral 10 designates the memory array which is configuredof two memory mats MAT-A and MAT-B, and numeral 20 designates a dataconversion circuit by which write data, which has been inputted from theoutside, is converted into four-valued data for every unit of two bits.Numeral 11 designates the sense latch array for holding the convertedwrite data and read data therein, while symbols 12a and 12b denote thedata latch arrays.

The memory array 10 includes address decoders 13a and 13b of an X-systemwhich decode address signals and then select word lines corresponding tothe respective memory mats MAT-A and MAT-B, and word drive circuits 14aand 14b by which a predetermined voltage generated by and fed from aninternal voltage generator circuit 37, which will be described later, isfed to one selected word line WL in each of the respective memory matsMAT-A and MAT-B in accordance with the results of the decoding by thecorresponding decoders 13a and 13b. Although not especially restrictedthereto, the memory array 10 of this embodiment has word drive circuits14a and 14b arranged on both sides and at the center of the respectivememory mats MAT-A and MAT-B. Although not shown in FIG. 2 nor FIG. 3,address decoder circuits of the Y-system and column switches, which areselectively turned on/off by the address decoder circuits so as totransfer the output data of the data conversion circuit 20 to thecorresponding sense latches, are constructed unitarily with the senselatch array 11. In FIG. 9, the Y-system decoder circuit, column switchesand sense latch circuits are illustrated as one functional blockY-DEC&SLT.

In addition to the circuits described above, the multivalued flashmemory 1 of this embodiment includes the following circuits: awrite/erase decision circuit 33 which functions to perform a write orerase operation to judge if the write or erase of data has ended, on thebasis of the data of the sense latch array 11, and to inform the controlcircuit 32 of the result of this judgment so as to end a write sequenceor erase sequence; a clock generator circuit 34 which generates timingclock signals necessary for the internal operations of the memory 1, andfeeds the signals to the corresponding circuits in the memory 1; astatus & test circuit 35 which has the function of generating andoutputting a ready/busy signal R/B reflecting the internal status of thememory 1 and representing whether or not an external access is possible,to the outside of the memory 1, and the function of testing the internalcircuits of the memory 1; a main amplifier circuit 36, which amplifiessignals read out of the memory array 10; an internal voltage generatorcircuit 37 fed with the power supply voltage Vcc (3.3 V) and the groundpotential Vss through power supply terminals; input/output buffercircuits 39, which receive address signals, write data signals andcommands externally inputted through the external terminals I/O and thenfeed the signals and commands to the predetermined circuits inside thememory 1, and output read data signals outside the memory 1; a controlsignal input buffer & input/output control circuit 38, which receivescontrol signals inputted from outside and then feeds them to the controlcircuit 32 and other predetermined circuits inside the memory 1, andcontrols the input/output buffer circuits 39; an address control circuit40; and a redundancy circuit 41 for replacement with an auxiliary memoryrow when a defective bit is present in the memory array 10.

In the flash memory 1 of this embodiment, the external terminals (pins)I/O are shared by the address signals, write data signals and commandinputs. The input/output buffer circuits 39 therefore receive theseinput signals in distinction from one another in accordance with controlsignals from the control signal input buffer & input/output controlcircuit 38, and then feed the signals to the predetermined internalcircuits. The internal voltage generator circuit 37 includes a referencepower supply circuit which generates reference voltages, such as asubstrate potential, an internal power supply circuit, which isconstructed of a charge pump etc. and which generates voltages requiredwithin the chip, such as a write voltage, an erase voltage, a readvoltage and a verify voltage, from the basis of the externally fed powersupply voltage Vcc, a power supply voltage switch circuit which selectsa desired voltage from among the generated voltages in accordance withthe operating status of the memory 1 and then feeds the selected voltageto the memory array 10, and a power supply control circuit whichcontrols these circuits.

The address control circuit 40 includes an address counter ACNT, whichreceives the address signals externally inputted and then counts themup, an address generator AGEN, which automatically updates theY-addresses in a data transferring operation and automatically generatesX-addresses in a data erasing operation etc., and a remedy circuit whichcompares an input address with a defective address and whichchanges-over a selected memory row or column when the addresses haveagreed with each other.

The control signals which are input from the external CPU or the like tothe flash memory 1 of this embodiment include, for example, a resetsignal RES, a chip selection signal CE, a write control signal WE, anoutput control signal OE, a command enable signal CDE representing if aninput signal is a command, a data input or an address input, and asystem clock SC.

Incidentally, as an external device for controlling the multivaluedflash memory 1 of the above embodiment, any device which can facilitatean address generating function and a command generating function, suchas a general-purpose microcomputer LSI (large-scale integrated circuit),can be adopted.

As thus far described, in the above embodiment, in a nonvolatilesemiconductor memory device wherein a plurality of threshold voltagesare set so as to store multivalued information in one memory cell, datais first written into the memory cell whose threshold voltage is thefarthest from the erase level (that is, whose threshold voltage is thelowest as the written state), and data is successively written intomemory cells whose threshold voltages are higher. It is thereforepossible to reduce the number of word line disturbances affecting thememory cell whose threshold voltage is the nearest to the erase leveland which is most susceptible to the word line disturbance. Accordingly,the embodiment brings forth the effect that the fluctuation of thethreshold voltage attributed to the word line disturbance can beminimized.

Write methods of the prior art have a problem in that a write pulse isimpressed on all memory cells to shift their threshold voltages, in thewrite operation of the first stage, so that the peak current in thewrite operation increases and the average power consumption increases.In contrast, in the embodiment, write pulses may be impressed on thememory cells of all different target threshold voltages. Therefore, thenumber of data lines which must be precharged by one writing operationand the total number of data lines which must be precharged from thestart of a write operation to the end thereof can be made smaller thanthat of the prior-art. Accordingly, the embodiment brings forth theeffect that the peak current and average power consumption of the writeoperations can be reduced.

Moreover, in the embodiment, the voltage of the write word line iscontrolled so that the absolute value thereof may decrease gradually inaccordance with the target threshold voltage. Therefore, the amount ofdisturbance will lower gradually in one write operation, so that thefluctuation of the threshold voltages can be further reduced.

Furthermore, in the embodiment, the memory array is configured of thetwo mats, the data line in each mat is connected to its input/outputterminal, the sense latch circuits capable of holding one bit out of3-bit data converted by the data conversion circuit are arranged betweenthe two mats, the data latch circuits capable of holding another bit outof the 3-bit data converted by the data conversion circuit are arrangedoutside the mats, and data is transferred through the data lines betweenthe data latch circuits and the sense latch circuits. The embodimenttherefore brings about the effects that any register for holding thereindata resulting from the conversion need not be disposed on the dataconversion circuit side, and the detection of an erratic bit is easilyrealized.

While the invention made by the inventors has been specificallydescribed above in conjunction with an embodiment, it is needless to saythat the present invention is not restricted to the foregoingembodiment, and it can be variously altered within a scope not departingfrom the purport thereof. For example, in the embodiment, the thresholdvoltages of memory cells are set at four levels so as to storequaternary data in one memory cell, however the present invention isalso applicable to a nonvolatile memory in which the threshold voltagesof memory cells are set at three levels or at five or more levels.

Besides, in the embodiment, the conversion shown in Table 1 is executedas one example of the method which converts 2-bit data into quaternarydata. However, the conversion method is not restricted to the one shownin Table 1, and it may be any method as long as the data includes bits“1” at different positions. Also, the operation for the inverseconversion of data is not restricted to that of Table 2, and any inverseconversion may be adopted as long as it can restore the original 2-bitdata.

Further, the method for writing data into individual memory cells is notrestricted to the method of the embodiment in which, after the thresholdvoltages of the memory cells have been heightened once by an eraseoperation, they are lowered by write pulses, and it may be, e.g., amethod in which the threshold voltages are heightened by write pulses.In the embodiment, the memory cell which corresponds to the sense latchcircuit holding data “1” therein is subjected to a write operation so asto change the threshold voltage thereof, but the memory cell whichcorresponds to the sense latch circuit holding data “0” therein may besubjected to a write operation so as to change the threshold voltagethereof.

Still further, in the embodiment, the memory array is configured of twomats. However, the present invention is not restricted to this, and theinvention is also applicable to a case where the memory array is dividedinto an even number of mats and a case where it is constructed of asingle mat. In cases where the memory array is constructed of a singlemat, it is possible to adopt a method in which data converted by thedata conversion circuit is divided into two parts and the parts aretransferred separately.

In the foregoing, the invention made by the inventors has been appliedto an all-at-once erasable flash memory as the field of application ofthe invention. However, the present invention is not restricted to theexemplified case, but it can be extensively utilized for generalnonvolatile memory devices which employ FAMOS memory elements and alsofor semiconductor devices which include memory cells having a pluralityof threshold voltages. In addition, there is a flash memory of the NORtype wherein “erase” is defined as bringing a threshold voltage into thelowest state, while “write” is defined as heightening the thresholdvoltage from the erased state. When the reduction of the influence ofword line disturbance in write operation is considered in themultivalued flash memory of the NOR type, the data writing operation isdesirably executed for the second-lowest threshold voltage of the erasedstatus, and subsequently for the third-lowest threshold voltage,successively executing a write operation for higher threshold voltagesin this manner.

An effect which is achieved by a typical aspect of the present inventionwill be briefly described as follows.

The present invention can realize a nonvolatile semiconductor memorydevice which is capable of minimizing the fluctuation of the thresholdvoltages of memory cells attributed to word line disturbance, and ofwhich the peak current and average power consumption of write operationcan be reduced.

What we claim is:
 1. A nonvolatile memory apparatus comprising: acentral processing unit; and a nonvolatile memory, wherein said centralprocessing unit is capable of outputting a plurality of commands, anaddress, a write enable signal, a clock signal and data, wherein saidcommands includes a program command, wherein said nonvolatile memorycomprises a plurality of word lines and a plurality of memory cells eachof which has a threshold voltage within one of a plurality of thresholdvoltage distributions, wherein one of said threshold voltagedistributions is assigned to an erase state and others of said thresholdvoltage distributions are assigned to program states, respectively,wherein said nonvolatile memory receives said commands and said addressduring an enable state of said write enable signal and receives saiddata in response to said clock signal during a disable state of saidwrite enable signal, and wherein in an operation of said programcommand, said nonvolatile memory controls selection of one word lineaccording to said address received from said central processing unit andbrings said threshold voltage of memory cells coupled to said selectedword line from the erase state threshold voltage distribution to one ofprogram state threshold voltage distributions corresponding to data tobe stored in respective ones of said memory cells.
 2. A nonvolatilememory apparatus according to claim 1, wherein said central processingunit is capable of outputting said commands during an enable state of acommand enable signal and is capable of outputting said address during adisable state of said command enable signal.
 3. A nonvolatile memoryapparatus according to claim 2, wherein each of said memory cells iscapable of storing a two bit data.
 4. A nonvolatile memory apparatusaccording to claim 3, wherein said nonvolatile memory brings saidthreshold voltage of memory cells to be within that one of the programstate threshold voltage distributions having the lowest voltage,firstly.
 5. A nonvolatile memory apparatus according to claim 4, whereinsaid erase state is assigned to that one of said threshold voltagedistributions having the highest voltage.
 6. A nonvolatile memoryapparatus according to claim 2, wherein said nonvolatile memory bringssaid threshold voltage of memory cells to be within that one of theprogram state threshold voltage distributions having the lowest voltage,firstly.
 7. A nonvolatile memory apparatus according to claim 6, whereinsaid erase state is assigned to that one of said threshold voltagedistributions having the highest voltage.
 8. A nonvolatile memoryapparatus comprising: a central processing unit; and a nonvolatilememory, wherein said central processing unit is capable of outputting aplurality of commands, an address, a write enable signal, a clock signaland data, wherein said commands includes a program command, wherein saidnonvolatile memory comprises a plurality of I/O terminals, a pluralityof word lines and a plurality of memory cells each of which has athreshold voltage within a plurality of threshold voltage distributions,wherein one of said threshold voltage distributions is assigned to anerase state and others of said threshold voltage distributions areassigned to program states, respectively, wherein said nonvolatilememory receives said commands, said address and said data via said I/Oterminals, receives said commands and said address in response to afirst state of said write enable signal and receives said data inresponse to said clock signal in a second state of said write enablesignal, wherein in an operation of said program command, saidnonvolatile memory controls selection of one word line according to saidaddress received from said central processing unit and brings saidthreshold voltage of memory cells coupled to said selected word linefrom the erase state threshold voltage distribution to one of programstate threshold voltage distributions corresponding to data to be storedin respective ones of said memory cells.
 9. A nonvolatile memoryapparatus according to claim 8, wherein said central processing unit iscapable of outputting said commands during an enable state of a commandenable signal and is capable of outputting said address during a disablestate of said command enable signal.
 10. A nonvolatile memory apparatusaccording to claim 9, wherein each of said memory cells is capable ofstoring a two bit data.
 11. A nonvolatile memory apparatus according toclaim 10, wherein said nonvolatile memory brings said threshold voltageof memory cells to be within that one of the program state thresholdvoltage distributions having the lowest voltage, firstly.
 12. Anonvolatile memory apparatus according to claim 11, wherein said erasestate is assigned to that one of said threshold voltage distributionshaving the highest voltage.
 13. A nonvolatile memory apparatus accordingto claim 9, wherein said nonvolatile memory brings said thresholdvoltage of memory cells to be within that one of the program statethreshold voltage distributions having the lowest voltage, firstly. 14.A nonvolatile memory apparatus according to claim 13, wherein said erasestate is assigned to that one of said threshold voltage distributionshaving the highest voltage.
 15. A nonvolatile memory apparatus accordingto claim 1, wherein said central processing unit is provided on asemiconductor substrate different from a semiconductor substrate onwhich said nonvolatile memory is provided.
 16. A nonvolatile memoryapparatus according to claim 1, wherein said central processing unit isincluded in a large-scale integration circuit (LSI), and wherein saidLSI is coupled with terminals of said non-volatile memory.
 17. Anonvolatile memory apparatus according to claim 8, wherein said centralprocessing unit is provided on a semiconductor substrate different froma semiconductor substrate on which said nonvolatile memory is provided.18. A nonvolatile memory apparatus according to claim 17, wherein saidcentral processing unit is a component in a large-scale integrationcircuit (LSI), said LSI includes connections with the I/O terminals ofsaid nonvolatile memory.
 19. A nonvolatile memory apparatus according toclaim 8, wherein said central processing unit is included in alarge-scale integration circuit (LSI), and wherein said LSI is coupledwith terminals of said non-volatile memory.
 20. A nonvolatile memoryapparatus according to claim 1, wherein said program command and saidaddress commence in synchronism with a same pulse edge of successivepulses of said write enable signal, respectively.
 21. A nonvolatilememory apparatus according to claim 2, wherein the enable state and thedisable state of said command enable signal commence simultaneously withthe program command and the data address, respectively.
 22. Anonvolatile memory apparatus according to claim 8, wherein said programcommand and said address commence in synchronism with a same pulse edgeof successive pulses of said write enable signal, respectively.
 23. Anonvolatile memory apparatus according to claim 9, wherein the enablestate and disable state of said command enable signal commencesimultaneously with the program command and the data address,respectively.
 24. A nonvolatile semiconductor memory comprising: aplurality of nonvolatile memory cells, each of which has a control gateand a floating gate, and is capable of storing data corresponding to adifference of a threshold voltage thereof, a plurality of word lines,each of which couples with corresponding nonvolatile memory cells; aplurality of data lines, each of which couples with correspondingnonvolatile memory cells; and a plurality of latch circuits, each ofwhich couples with a corresponding data line, wherein each of thenonvolatile memory cells is adapted to set the threshold voltage thereofinto one of a voltage range indicating an erase state and voltage rangesindicating two or more program states, wherein in a program operation,the threshold voltage of a nonvolatile memory cell is shifted to a firstvoltage range indicating a first program state, the voltage range ofwhich is the closest to the voltage range indicating the erase state,and, afterwards, the threshold voltage of the nonvolatile memory cell tobe set to a second voltage range is shifted to the second voltage rangeindicating a second program state, the voltage range of which is fartherthan that of the first voltage range from the voltage range indicatingthe erase state, wherein in a verify operation in response to theprogram operation, with regard to the nonvolatile memory cell to be setto have the threshold voltage thereof in the first voltage range, it isverified whether the threshold voltage thereof is over a near limit ofthe first voltage range from the voltage range indicating the erasestate and it is verified whether the threshold voltage thereof does notgo over a far limit of the first voltage range from the voltage rangeindicating the erase state, and with regard to the nonvolatile memorycell to be set to have the threshold voltage thereof in the secondvoltage range, it is verified whether the threshold voltage thereof isover a near limit of the second voltage range from the voltage rangeindicating the erase state and it is verified whether the thresholdvoltage thereof does not go over a far limit of the second voltage rangefrom the voltage range indicating the erase state, wherein there is athird voltage range indicating a third program state in the voltageranges indicating the program states, wherein the third voltage rangeindicating the third program state is farther than the second voltagerange indicating the second program state from the voltage rangeindicating the erase state, wherein in the verify operation, with regardto the nonvolatile memory cell to be set to have the threshold voltagethereof in the third voltage range, it is verified whether the thresholdvoltage thereof is over a near limit of the third voltage range from thevoltage range indicating the erase state and it is not verified whetherthe threshold voltage thereof does not go over the far limit of thethird voltage range from the voltage range indicating the erase state,wherein a second read voltage for discriminating between the secondvoltage range and the third voltage range is between the far limit ofthe second voltage range and the near limit of the third voltage range,wherein in the verify operation, the threshold voltage of each of thenonvolatile memory cells coupled to one word line is checked bysupplying a verify voltage to the one word line, and wherein in theprogram operation, the threshold voltage of the nonvolatile memory cellto be set to the third voltage range is shifted to the third voltagerange before the threshold voltage of the nonvolatile memory cell to beset to the second voltage range is shifted to a second voltage range.25. A nonvolatile semiconductor memory according to claim 24, whereinthe program operation is finished when the threshold voltage of thenonvolatile memory cell to be set to the first voltage range is over thenear limit of the first voltage range or the threshold voltage of thenonvolatile memory cell to be set to the second voltage range is overthe near limit of the second voltage range, and then wherein the verifyoperation is performed in order that the threshold voltage of thenonvolatile memory cell to be set to the first voltage range is over ornot the far limit of the first voltage range or the threshold voltage ofthe nonvolatile memory cell to be set to the second voltage range isover or not the far limit of the second voltage range.
 26. A nonvolatilesemiconductor memory according to claim 25, wherein the memory isadapted to issue a signal to outside for notifying an occurrence thatthe threshold voltage of the nonvolatile memory cell to be set to thefirst voltage range is over the far limit of the first voltage range orthe threshold voltage of the nonvolatile memory cell to be set to thesecond voltage range is over the far limit of the second voltage range.27. A nonvolatile memory apparatus comprising: a semiconductor circuit;and the nonvolatile semiconductor memory comprising a plurality ofnonvolatile memory cells, each of which has a control gate and afloating gate, and is capable of storing data corresponding to adifference of a threshold voltage thereof, a plurality of word lines,each of which couples with corresponding nonvolatile memory cells; aplurality of data lines, each of which couples with correspondingnonvolatile memory cells; and a plurality of latch circuits, each ofwhich couples with a corresponding data line, wherein each of thenonvolatile memory cells is adapted to set the threshold voltage thereofinto one of a voltage range indicating an erase state and voltage rangesindicating two or more program states, wherein in a program operation,the threshold voltage of a nonvolatile memory cell is shifted to a firstvoltage range indicating a first program state, the voltage range ofwhich is the closest to the voltage range indicating the erase state,and, afterwards, the threshold voltage of the nonvolatile memory cell tobe set to a second voltage range is shifted to the second voltage rangeindicating a second program state, the voltage range of which is fartherthan that of the first voltage range from the voltage range indicatingthe erase state, wherein in a verify operation in response to theprogram operation, with regard to the nonvolatile memory cell to be setto have the threshold voltage thereof in the first voltage range, it isverified whether the threshold voltage thereof is over a near limit ofthe first voltage range from the voltage range indicating the erasestate and it is verified whether the threshold voltage thereof does notgo over a far limit of the first voltage range from the voltage rangeindicating the erase state, and with regard to the nonvolatile memorycell to be set to have the threshold voltage thereof in the secondvoltage range, it is verified whether the threshold voltage thereof isover a near limit of the second voltage range from the voltage rangeindicating the erase state and it is verified whether the thresholdvoltage thereof does not go over a far limit of the second voltage rangefrom the voltage range indicating the erase state, wherein there is athird voltage range indicating a third program state in the voltageranges indicating the program states, wherein the third voltage rangeindicating the third program state is farther than the second voltagerange indicating the second program state from the voltage rangeindicating the erase state, wherein in the verify operation, with regardto the nonvolatile memory cell to be set to have the threshold voltagethereof in the third voltage range, it is verified whether the thresholdvoltage thereof is over a near limit of the third voltage range from thevoltage range indicating the erase state and it is not verified whetherthe threshold voltage thereof does not go over the far limit of thethird voltage range from the voltage range indicating the erase state,wherein a second read voltage for discriminating between the secondvoltage range and the third voltage range is between the far limit ofthe second voltage range and the near limit of the third voltage range,wherein in the verify operation, the threshold voltage of each of thenonvolatile memory cells coupled to one word line is checked bysupplying a verify voltage to the one word line, and wherein in theprogram operation, the threshold voltage of the nonvolatile memory cellto be set to the third voltage range is shifted to the third voltagerange before the threshold voltage of the nonvolatile memory cell to beset to the second voltage range is shifted to a second voltage range,wherein the program operation is finished when the threshold voltage ofthe nonvolatile memory cell to be set to the first voltage range is overthe near limit of the first voltage range or the threshold voltage ofthe nonvolatile memory cell to be set to the second voltage range isover the near limit of the second voltage range, and then wherein theverify operation is performed in order that the threshold voltage of thenonvolatile memory cell to be set to the first voltage range is over ornot the far limit of the first voltage range or the threshold voltage ofthe nonvolatile memory cell to be set to the second voltage range isover or not the far limit of the second voltage range, wherein thememory is adapted to issue a signal to outside for notifying anoccurrence that the threshold voltage of the nonvolatile memory cell tobe set to the first voltage range is over the far limit of the firstvoltage range or the threshold voltage of the nonvolatile memory cell tobe set to the second voltage range is over the far limit of the secondvoltage range, and wherein the semiconductor circuit is adapted to issuea predetermined control signal, an address signal, and a data signal tothe nonvolatile semiconductor memory.